Discovered via a crash because b's (dest's) toplevel was NULL;
ensuring that the dest is actually a GdkWindow or setting b to NULL
prevents that path from being taken.
/* TODO: Don't send events to toplevel, as we get those from the windowing system */
- a = src;
- b = dest;
+ a = (src && GDK_IS_WINDOW (src)) ? src : NULL;
+ b = (dest && GDK_IS_WINDOW (dest)) ? dest : NULL;
+
if (src == dest)
return; /* No crossings generated between src and dest */